

package util.entityhelper;
import entity.AddressEntity;
import entity.AdvertisingEntity;
import entity.BranchEntity;
import entity.IndustryTypeEntity;
import entity.MediaEntity;
import entity.PortalDescriptionLocale;
import entity.UnstructuredContentEntity;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 *
 * @author jamie
 */

public class StakeholderAccountState implements Serializable {

    private Long id;
    private String username;
    private String password;
    private String corpName;
    private String bizRegNumber;
    private String corpContactNumber;
    private String corpContactPerson;
    private String corpEmail;
    private String corpFaxNumber;
    private int billingDay;
    private String shortDesc; 
    
    private boolean verified;
    private Date loginTime;
    
    private String imgUrl;
    private String stakeholderDesc;
    
    private IndustryTypeEntity industry;
    private AddressEntity address;

    private List<BranchEntity> branches;
    private List<PortalDescriptionLocale> localeDesc;
    private List<MediaEntity> media;
    private List<AdvertisingEntity> advertisement;
    private UnstructuredContentEntity unstructuredContent;
    
    
    // fields not found in entity for display only
    private String localizedBizName;
    
    
    public StakeholderAccountState(Long stakeholderId, String username, String password, 
            String corpEmail, String bizRegNumber, boolean activated, Date time) {
        this.id = stakeholderId;
        this.username = username;
        this.password = password;
        this.corpEmail = corpEmail;
        this.bizRegNumber = bizRegNumber;
        this.verified = activated; //check stakeholder activated.
        this.loginTime = time;
    }
    
    public StakeholderAccountState(Long stakeholderId, String username, String stakeholderDesc,
            String imgUrl, String corpName)
    {

        this.id = stakeholderId;
        this.username = username;
        this.stakeholderDesc = stakeholderDesc;
        this.imgUrl = imgUrl;
        this.corpName = corpName;
    }
    
    public StakeholderAccountState(Long stakeholderId, boolean verified, List<PortalDescriptionLocale> localeDesc, List<BranchEntity> branches){
        this.id = stakeholderId;
        this.localeDesc = localeDesc;
        this.branches = branches;
        
    }
    
    public StakeholderAccountState(Long stakeholderId, String corpName, String stakeholderDesc,
            String imgUrl, boolean verified, List<BranchEntity> branches ) {
         
        this.id = stakeholderId;
        this.corpName = corpName; 
        this.stakeholderDesc = stakeholderDesc;
        this.imgUrl = imgUrl;
        this.verified = verified;
        this.branches = branches;
    }

    /**
     * Constructor for itinerary creation use
     * @param id
     * @param corpName
     * @param bizRegNumber
     * @param corpContactNumber
     * @param corpContactPerson
     * @param corpEmail
     * @param corpFaxNumber
     * @param shortDesc
     * @param verified
     * @param imgUrl
     * @param stakeholderDesc
     * @param industry
     * @param address
     * @param branches
     * @param localeDesc
     * @param media 
     */
    public StakeholderAccountState(Long id, String bizRegNumber, String corpName, String corpContactNumber, String corpContactPerson, String corpEmail, String corpFaxNumber, String shortDesc, boolean verified, String imgUrl, String stakeholderDesc, IndustryTypeEntity industry, AddressEntity address, List<BranchEntity> branches, List<PortalDescriptionLocale> localeDesc, List<MediaEntity> media) {
        this.id = id;
        this.bizRegNumber = bizRegNumber;
        this.corpName = corpName;
        this.corpContactNumber = corpContactNumber;
        this.corpContactPerson = corpContactPerson;
        this.corpEmail = corpEmail;
        this.corpFaxNumber = corpFaxNumber;
        this.shortDesc = shortDesc;
        this.verified = verified;
        this.imgUrl = imgUrl;
        this.stakeholderDesc = stakeholderDesc;
        this.industry = industry;
        this.address = address;
        this.branches = branches;
        this.localeDesc = localeDesc;
        this.media = media;
    }


    /**
     * @return the id
     */

    public Long getId() {
        return id;
    }


    public String getUsername() {
        return username;
    }


    /**
     * @return the password
     */

    public String getPassword() {
        return password;
    }


 

    /**
     * @param id the id to set
     */

    public void setId(Long id) {
        this.id = id;
    }



    public void setUsername(String username) {
        this.username = username;
    }


    public void setPassword(String password) {
        this.password = password;
    }

    public boolean isVerified() {
        return verified;
    }


    public void setVerified(boolean verified) {
        this.verified = verified;
    }

    public String getImgUrl() {
        return imgUrl;
    }


    public String getStakeholderDesc() {
        return stakeholderDesc;
    }


    public void setImgUrl(String imgUrl) {
        this.imgUrl = imgUrl;
    }


    public void setStakeholderDesc(String stakeholderDesc) {
        this.stakeholderDesc = stakeholderDesc;
    }

    /**
     * @return the branches
     */
    public List <BranchEntity> getBranches() {
        return branches;
    }

    /**
     * @param branches the branches to set
     */
    public void setBranches(List <BranchEntity> branches) {
        this.branches = branches;
    }

    /**
     * @return the corpName
     */
    public String getCorpName() {
        return corpName;
    }

    /**
     * @param corpName the corpName to set
     */
    public void setCorpName(String corpName) {
        this.corpName = corpName;
    }

    /**
     * @return the localeDesc
     */
    public List <PortalDescriptionLocale> getLocaleDesc() {
        return localeDesc;
    }

    /**
     * @param localeDesc the localeDesc to set
     */
    public void setLocaleDesc(List <PortalDescriptionLocale> localeDesc) {
        this.localeDesc = localeDesc;
    }

    /**
     * @return the corpEmail
     */
    public String getCorpEmail() {
        return corpEmail;
    }

    /**
     * @param corpEmail the corpEmail to set
     */
    public void setCorpEmail(String corpEmail) {
        this.corpEmail = corpEmail;
    }

    /**
     * @return the loginTime
     */
    public Date getLoginTime() {
        return loginTime;
    }

    /**
     * @param loginTime the loginTime to set
     */
    public void setLoginTime(Date loginTime) {
        this.loginTime = loginTime;
    }

    public AddressEntity getAddress() {
        return address;
    }

    public void setAddress(AddressEntity address) {
        this.address = address;
    }

    public List<AdvertisingEntity> getAdvertisement() {
        return advertisement;
    }

    public void setAdvertisement(List<AdvertisingEntity> advertisement) {
        this.advertisement = advertisement;
    }

    public int getBillingDay() {
        return billingDay;
    }

    public void setBillingDay(int billingDay) {
        this.billingDay = billingDay;
    }

    public String getBizRegNumber() {
        return bizRegNumber;
    }

    public void setBizRegNumber(String bizRegNumber) {
        this.bizRegNumber = bizRegNumber;
    }

    public String getCorpContactNumber() {
        return corpContactNumber;
    }

    public void setCorpContactNumber(String corpContactNumber) {
        this.corpContactNumber = corpContactNumber;
    }

    public String getCorpContactPerson() {
        return corpContactPerson;
    }

    public void setCorpContactPerson(String corpContactPerson) {
        this.corpContactPerson = corpContactPerson;
    }

    public String getCorpFaxNumber() {
        return corpFaxNumber;
    }

    public void setCorpFaxNumber(String corpFaxNumber) {
        this.corpFaxNumber = corpFaxNumber;
    }

    public IndustryTypeEntity getIndustry() {
        return industry;
    }

    public void setIndustry(IndustryTypeEntity industry) {
        this.industry = industry;
    }

    public List<MediaEntity> getMedia() {
        return media;
    }

    public void setMedia(List<MediaEntity> media) {
        this.media = media;
    }

    public String getShortDesc() {
        return shortDesc;
    }

    public void setShortDesc(String shortDesc) {
        this.shortDesc = shortDesc;
    }

    public UnstructuredContentEntity getUnstructuredContent() {
        return unstructuredContent;
    }

    public void setUnstructuredContent(UnstructuredContentEntity unstructuredContent) {
        this.unstructuredContent = unstructuredContent;
    }

    public String getLocalizedBizName() {
        return localizedBizName;
    }

    public void setLocalizedBizName(String localizedBizName) {
        this.localizedBizName = localizedBizName;
    }

}

  
    


